//
//  MRCViewController.m
//  Effective Objective-C 2.0
//
//  Created by 周成龙 on 2017/12/14.
//  Copyright © 2017年 周成龙. All rights reserved.
//

#import "MRCViewController.h"

@interface MRCViewController ()

@end

@implementation MRCViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    NSObject *obj = [NSObject new];
    [obj release];
    
    /**
     1. 捕获异常时，一定要注意将try内所创的对象清理干净。
     2. 在默认情况下，ARC不生成安全处理异常所需的清理代码，开启编译器标志后（-fobjc-arc-exceptions），可生成这种代码，不过会导致应用程序变大，而且会降低运行效率。(见-ARCViewController)
     */
    // 1. 捕获异常时，一定要注意将try内所创的对象清理干净。
    NSObject *ob = nil;
    @try {
        NSArray *array = @[ob];
        [ob release];
    }
    @catch(NSException *exception){
        NSLog(@"%@", exception.description);
    }
    @finally{
        [ob release];
    }
}

@end
